package negocio;

import exception.ImpossivelCompletarTarefaException;
import modelo.Vaga;
import persistencia.DAOVaga;

	public class FachadaVaga {

	private DAOVaga daoVaga = new DAOVaga();

		public void inserirVaga(Vaga vaga) throws ImpossivelCompletarTarefaException{
			Vaga vagaInserido = daoVaga.buscarVaga(vaga.getId());
			if (vagaInserido != null){
				throw new ImpossivelCompletarTarefaException("Já existe um Vaga cadastrado com esse E-Mail: " + vaga.getId());
			}
			daoVaga.inserir(vaga);
		}
	
		
		public void atualizarVaga(Vaga vaga) throws ImpossivelCompletarTarefaException{
			Vaga vagaInserido = daoVaga.buscarVaga(vaga.getId());
			if (vagaInserido == null){
				throw new ImpossivelCompletarTarefaException("Não existe um Vaga cadastrado com este E-Mail: " + vaga.getId());
			}
			daoVaga.atualizar(vaga);
		}
		
		public void excluirVaga(Vaga vaga) throws ImpossivelCompletarTarefaException{
			Vaga vagaInserido = daoVaga.buscarVaga(vaga.getId());
			if (vagaInserido == null){
				throw new ImpossivelCompletarTarefaException("Não existe um Vaga cadastrado com este E-Mail: " + vaga.getId());
			}
			daoVaga.excluir(vaga);
		}
		
		public Vaga buscarVaga(int id) throws ImpossivelCompletarTarefaException{
			Vaga vagaInserido = daoVaga.buscarVaga(id);
			if (vagaInserido == null){
				throw new ImpossivelCompletarTarefaException("Não existe um Vaga cadastrado com este E-Mail: " + id);
			}
			return vagaInserido;
		}
		
}

